<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/Store.Web.Models" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Store.Web.Models" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:complexType name="ArrayOfProduct">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Product" nillable="true" type="tns:Product" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfProduct" nillable="true" type="tns:ArrayOfProduct" />
  <xs:complexType name="Product">
    <xs:sequence>
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="PictureUrl" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Price" type="xs:decimal" />
      <xs:element minOccurs="0" name="Title" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Product" nillable="true" type="tns:Product" />
  <xs:complexType name="ArrayOfOrder">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Order" nillable="true" type="tns:Order" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfOrder" nillable="true" type="tns:ArrayOfOrder" />
  <xs:complexType name="Order">
    <xs:sequence>
      <xs:element minOccurs="0" name="CreationDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Customer" nillable="true" type="tns:Customer" />
      <xs:element minOccurs="0" name="CustomerId" type="xs:int" />
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="ModificationDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Products" nillable="true" type="tns:ArrayOfProduct" />
      <xs:element minOccurs="0" name="ShipAddress" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="ShipAddressId" type="xs:int" />
      <xs:element minOccurs="0" name="State" type="xs:int" />
      <xs:element minOccurs="0" name="TotalPrice" type="xs:decimal" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Order" nillable="true" type="tns:Order" />
  <xs:complexType name="Customer">
    <xs:sequence>
      <xs:element minOccurs="0" name="Addresses" nillable="true" type="tns:ArrayOfAddress" />
      <xs:element minOccurs="0" name="Email" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FirstName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="LastName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Password" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Customer" nillable="true" type="tns:Customer" />
  <xs:complexType name="ArrayOfAddress">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Address" nillable="true" type="tns:Address" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfAddress" nillable="true" type="tns:ArrayOfAddress" />
  <xs:complexType name="Address">
    <xs:sequence>
      <xs:element minOccurs="0" name="City" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FirstName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Label" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LastName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Phone" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Street" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ZipCode" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Address" nillable="true" type="tns:Address" />
</xs:schema>